# 1.函数位置参数复习
def test(x=10000,*args,**kwargs):

    '''函数的传参、
    1.位置参数一定放在左边，是必传参数、
    2.实参的级别高于形参、形参设定默认值后、实参可以不传
    2.一个形参只能传一次
    3.*args除了关键字参数都能接收（关键字参数 就是**{}）
    4.**kwargs 只接收字典、传字典在前面加上**
    '''
    print(x,args,kwargs)

a = test(1,2,3,87,"jdh",8908,8907,**{"name":"alex"})
#---> 1 (2, 3, 87, 'jdh', 8908, 8907) {'name': 'alex'}
'''位置参数以外的全部以循环的方式组成元组传给args'''
b = test(1,[2,3,87,8908,8907,{"name":"alex"}])
#将列表传给元组---> 1 ([2, 3, 87, 8908, 8907, {'name': 'alex'}],) {}
c = test(1,*[2,3,87,8908,8907])
# []列表作为一个整体传给args--> 1 (2, 3, 87, 8908, 8907) {}
d = test(1,*[2,3,87,8908,8907],**{'name':'alex'})
# -->1 (2, 3, 87, 8908, 8907) {'name': 'alex'}
e = test(**{'name':'alex'},**{"age":15})